home *** CD-ROM | disk | FTP | other *** search
- GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
-
-
-
- NAME
- GEMuserobject - GEMobject with user-defined graphic representation
-
- DESCRIPTION
- GEM provides a range of buttons with various borders, etc.
-
- For whatever reason, the programmer may wish to define new graphics
- for objects.
-
- This is an abstract class, since the actual drawing function is
- not defined. A derived class, GEMvdiobject, provides a higher-
- level interface.
-
- CONSTRUCTORS
- GEMuserobject(GEMform&, int RSCindex)
- As per GEMobject
-
- PROTECTED METHODS
-
- ********************************************************************
- NOTE: Draw() and Change() MUST NOT CALL ANY AES FUNCTIONS. THEY MAY
- CALL GEMDOS, BIOS, XBIOS, AND VDI FUNCTIONS.
-
- Some GEM++ methods call AES functions, most notably
- GEMobject::GetAbsoluteXY().
- ********************************************************************
-
- virtual void Draw(const PARMBLK* p)=0
- Draw the area defined in the PARMBLK. This methods should draw
- the object at (p->pb_x,p->pb_y), clipped to p->pb_?c. See gemfast.h
- for the definition of PARMBLK.
-
- virtual void Change(const PARMBLK*)
- Simply calls Draw - derived classes could behave more cleverly,
- such as the way the AES merely inverts areas rather than redrawing
- when items are selected.
-
- virtual int Type()
- virtual int ObjectSpecific()
- virtual void Type(int)
- virtual void ObjectSpecific(int)
- Note that this class overrides these function in such a way that
- the original object type and object-specific data remains intact.
- This means that a derived class may be defined that changes the
- way the type looks, but still allows the fields of the object to
- be accessed as usual - such as the text of a string object.
-
- SEE ALSO
- GEMvdiobject
-
- BUGS
- Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
-
- AUTHOR
- Warwick Allison, 1993.
- warwick@cs.uq.oz.au
-
- COPYING
- This functionality is part of the GEM++ library,
- and is Copyright 1993 by Warwick W. Allison.
-
- GEM++ is free and protected under the GNU Library General Public
- License.
-
- You are free to copy and modify these sources, provided you
- acknowledge the origin by retaining this notice, and adhere to
- the conditions described in the GNU LGPL.
-